As computing devices and electronic communication networks continue to proliferate in a variety of forms, information security remains an important concern. Cryptographic techniques are often used to ensure that electronic information is safely delivered to its intended recipient, and to determine whether devices and/or processes requesting access to information or other devices should be granted such access. Public key cryptography is a technique that typically uses two keys: a private key, which remains secret; and a public key, which may be freely disclosed, to define membership in a group of trusted computing devices. While the public key and the private key are related, the private key cannot feasibly be determined from the public key.
Public key cryptography can be used to implement digital signature schemes. In general, a digital signature scheme is a mathematical framework for authenticating an electronic message or document. If a digital signature is determined to be valid, it can be inferred that the message encoded with the signature originated from a trusted source and has not been modified during transit. In public key digital signature schemes, a private key is used to create a digital signature of a message, while a corresponding public key is used to check the validity of the digital signature.
A direct anonymous attestation (DAA) scheme is a digital signature scheme for anonymous attestation and authentication of a computing device using the public key approach. Direct anonymous attestation schemes permit a computing device's membership in a trusted group to be verified by a remote entity (e.g., a software process, hardware device, or server) without the computing device revealing information about its identity. An elliptic curve-based DAA scheme is a type of DAA scheme in which an elliptic curve is defined and parameters of the elliptic curve are used to generate signature keys for members of the group of trusted computing devices.
The Trusted Platform Module (TPM) specification is a published specification, authored by the Trusted Computing Group, which describes a hardware-based implementation of a DAA scheme for verifying the integrity of computing devices. The term, “TPM” may be used to refer to implementations of that scheme.
Some DAA schemes, including the TPM version 1.2 specification published by the Trusted Computing Group, divide the process of signing a message with a digital signature between two devices. This allows resource-intensive computations to be performed by a device that has the computational power to handle them.